snapshot: Add a snapshot function to GtkCssCustomGadget
authorBenjamin Otte <otte@redhat.com>
Sun, 13 Nov 2016 20:08:34 +0000 (21:08 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 15 Nov 2016 16:48:45 +0000 (17:48 +0100)
33 files changed:
gtk/gtkactionbar.c
gtk/gtkbbox.c
gtk/gtkbox.c
gtk/gtkbutton.c
gtk/gtkcellview.c
gtk/gtkcolorswatch.c
gtk/gtkcombobox.c
gtk/gtkcsscustomgadget.c
gtk/gtkcsscustomgadgetprivate.h
gtk/gtkentry.c
gtk/gtkflowbox.c
gtk/gtkframe.c
gtk/gtkgrid.c
gtk/gtkheaderbar.c
gtk/gtkimage.c
gtk/gtklabel.c
gtk/gtklevelbar.c
gtk/gtklistbox.c
gtk/gtkmenubar.c
gtk/gtkmenuitem.c
gtk/gtkmodelbutton.c
gtk/gtknotebook.c
gtk/gtkpaned.c
gtk/gtkprogressbar.c
gtk/gtkrange.c
gtk/gtkscale.c
gtk/gtkscrolledwindow.c
gtk/gtkseparator.c
gtk/gtkseparatortoolitem.c
gtk/gtkstack.c
gtk/gtkswitch.c
gtk/gtktoolbar.c
gtk/gtkviewport.c

index 9de2de0e184156592f46851f838ce86c6aeacbcb..3bf456ac63cda0d687a13ff6181247ae7ddeaa1d 100644 (file)
@@ -351,6 +351,7 @@ gtk_action_bar_init (GtkActionBar *action_bar)
                                                      gtk_action_bar_allocate,
                                                      NULL,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
 }
 
index 111a63813d42b7b65fa8ddc43e03509edee291ea..98f8710d95720df3020f85e4efa9c2134c40896d 100644 (file)
@@ -237,6 +237,7 @@ gtk_button_box_init (GtkButtonBox *button_box)
                                                          gtk_button_box_allocate,
                                                          NULL,
                                                          NULL,
+                                                         NULL,
                                                          NULL);
 }
 
index 6c1c3b75f34a1c71716490c8529ce7bb9a74f6e5..4f4f3958948cfa3d716cf71cdf6571381e4cde8c 100644 (file)
@@ -1971,6 +1971,7 @@ gtk_box_init (GtkBox *box)
                                                         gtk_box_allocate_contents,
                                                         NULL,
                                                         NULL,
+                                                        NULL,
                                                         NULL);
 
   _gtk_orientable_set_style_classes (GTK_ORIENTABLE (box));
index 62b71090caec05cb4c50ffafdfe1fe08ca54fce6..f63a725cefa9e0a8a698f42a8f9b32ea0c7396b4 100644 (file)
@@ -475,6 +475,7 @@ gtk_button_init (GtkButton *button)
                                                      gtk_button_allocate,
                                                      NULL,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
 
 }
index 2ae9e93981e8cf33623551f6da943d829474f15f..9e831f7402fc5ffa73d47889955a9321ab3dee6b 100644 (file)
@@ -515,6 +515,7 @@ gtk_cell_view_init (GtkCellView *cellview)
                                                                gtk_cell_view_allocate,
                                                                gtk_cell_view_render,
                                                                NULL,
+                                                               NULL,
                                                                NULL);
 }
 
index 4aedcc36307a86bccfc6a153029bdba5fe9b2943..15f6b6c73d9ebbc178213e298842ded9eea18b98 100644 (file)
@@ -739,6 +739,7 @@ gtk_color_swatch_init (GtkColorSwatch *swatch)
                                                              NULL,
                                                              gtk_color_swatch_render,
                                                              NULL,
+                                                             NULL,
                                                              NULL);
   gtk_css_gadget_add_class (swatch->priv->gadget, "activatable");
 
index 8706e0a6120adee849a3eca95e5b9e142a8e2453..b886409232c56bbd0f563a9aa9e9af3867d05534 100644 (file)
@@ -1097,6 +1097,7 @@ gtk_combo_box_init (GtkComboBox *combo_box)
                                                      gtk_combo_box_measure,
                                                      gtk_combo_box_allocate,
                                                      NULL,
+                                                     NULL,
                                                      NULL, NULL);
 }
 
index 7cf9096eed20c5733dd621ef5ec3b66d34a9a95d..7d54884515e43fdb8bfb4a50e1f6be084b902f8e 100644 (file)
  * Typically, GtkCssDrawFunc will draw sub-gadgets and child widgets
  * that are placed relative to the gadget, as well as custom content
  * such as icons, checkmarks, arrows or text.
+ *
+ * GtkCssSnapshotFunc:
+ * @gadget: the #GtkCssCustomGadget
+ * @snapshot: the snapshot to snapshot to
+ * @x: the x origin of the content area
+ * @y: the y origin of the content area
+ * @width: the width of the content area
+ * @height: the height of the content area
+ * @data: data provided when registering the callback
+ *
+ * The GtkCssSnapshotFunc is called to snapshot the gadget's content in
+ * gtk_css_gadget_snapshot(). It gets passed an untransformed cairo context
+ * and the coordinates of the area to draw the content in.
+ *
+ * Typically, GtkCssSnapshotFunc will draw sub-gadgets and child widgets
+ * that are placed relative to the gadget, as well as custom content
+ * such as icons, checkmarks, arrows or text.
  */
 
 typedef struct _GtkCssCustomGadgetPrivate GtkCssCustomGadgetPrivate;
@@ -102,6 +119,7 @@ struct _GtkCssCustomGadgetPrivate {
   GtkCssPreferredSizeFunc          preferred_size_func;
   GtkCssAllocateFunc               allocate_func;
   GtkCssDrawFunc                   draw_func;
+  GtkCssSnapshotFunc               snapshot_func;
   gpointer                         data;
   GDestroyNotify                   destroy_func;
 };
@@ -161,6 +179,24 @@ gtk_css_custom_gadget_draw (GtkCssGadget *gadget,
     return GTK_CSS_GADGET_CLASS (gtk_css_custom_gadget_parent_class)->draw (gadget, cr, x, y, width, height);
 }
 
+static gboolean
+gtk_css_custom_gadget_snapshot (GtkCssGadget *gadget,
+                                GtkSnapshot  *snapshot,
+                                int           x,
+                                int           y,
+                                int           width,
+                                int           height)
+{
+  GtkCssCustomGadgetPrivate *priv = gtk_css_custom_gadget_get_instance_private (GTK_CSS_CUSTOM_GADGET (gadget));
+
+  if (priv->snapshot_func)
+    return priv->snapshot_func (gadget, snapshot, x, y, width, height, priv->data);
+  else if (priv->draw_func)
+    return GTK_CSS_GADGET_CLASS (gtk_css_custom_gadget_parent_class)->snapshot (gadget, snapshot, x, y, width, height);
+  else
+    return FALSE;
+}
+
 static gboolean
 gtk_css_custom_gadget_has_content (GtkCssGadget *gadget)
 {
@@ -191,6 +227,7 @@ gtk_css_custom_gadget_class_init (GtkCssCustomGadgetClass *klass)
   gadget_class->get_preferred_size = gtk_css_custom_gadget_get_preferred_size;
   gadget_class->allocate = gtk_css_custom_gadget_allocate;
   gadget_class->draw = gtk_css_custom_gadget_draw;
+  gadget_class->snapshot = gtk_css_custom_gadget_snapshot;
   gadget_class->has_content = gtk_css_custom_gadget_has_content;
 }
 
@@ -207,6 +244,7 @@ gtk_css_custom_gadget_init (GtkCssCustomGadget *custom_gadget)
  * @preferred_size_func: (nullable): the GtkCssPreferredSizeFunc to use
  * @allocate_func: (nullable): the GtkCssAllocateFunc to use
  * @draw_func: (nullable): the GtkCssDrawFunc to use
+ * @snapshot_func: (nullable): the GtkCssSnapshotFunc to use
  * @data: (nullable): user data to pass to the callbacks
  * @destroy_func: (nullable): destroy notify for @data
  *
@@ -227,6 +265,7 @@ gtk_css_custom_gadget_new_for_node (GtkCssNode                 *node,
                                     GtkCssPreferredSizeFunc     preferred_size_func,
                                     GtkCssAllocateFunc          allocate_func,
                                     GtkCssDrawFunc              draw_func,
+                                    GtkCssSnapshotFunc          snapshot_func,
                                     gpointer                    data,
                                     GDestroyNotify              destroy_func)
 {
@@ -243,6 +282,7 @@ gtk_css_custom_gadget_new_for_node (GtkCssNode                 *node,
   priv->preferred_size_func = preferred_size_func;
   priv->allocate_func = allocate_func;
   priv->draw_func = draw_func;
+  priv->snapshot_func = snapshot_func;
   priv->data = data;
   priv->destroy_func = destroy_func;
 
@@ -258,6 +298,7 @@ gtk_css_custom_gadget_new_for_node (GtkCssNode                 *node,
  * @preferred_size_func: (nullable): the GtkCssPreferredSizeFunc to use
  * @allocate_func: (nullable): the GtkCssAllocateFunc to use
  * @draw_func: (nullable): the GtkCssDrawFunc to use
+ * @snapshot_func: (nullable): the GtkCssSnapshotFunc to use
  * @data: (nullable): user data to pass to the callbacks
  * @destroy_func: (nullable): destroy notify for @data
  *
@@ -274,6 +315,7 @@ gtk_css_custom_gadget_new (const char                 *name,
                            GtkCssPreferredSizeFunc     preferred_size_func,
                            GtkCssAllocateFunc          allocate_func,
                            GtkCssDrawFunc              draw_func,
+                           GtkCssSnapshotFunc          snapshot_func,
                            gpointer                    data,
                            GDestroyNotify              destroy_func)
 {
@@ -292,6 +334,7 @@ gtk_css_custom_gadget_new (const char                 *name,
                                                preferred_size_func,
                                                allocate_func,
                                                draw_func,
+                                               snapshot_func,
                                                data,
                                                destroy_func);
 
index 994237a2e53cdfa3c5f3c0419561966c767f0006..0d1d33f6b55757d9b600afe14f587cfc88ea1fcb 100644 (file)
@@ -54,6 +54,13 @@ typedef gboolean (* GtkCssDrawFunc)                     (GtkCssGadget
                                                          int                     width,
                                                          int                     height,
                                                          gpointer                data);
+typedef gboolean (* GtkCssSnapshotFunc)                 (GtkCssGadget           *gadget,
+                                                         GtkSnapshot            *snapshot,
+                                                         int                     x,
+                                                         int                     y,
+                                                         int                     width,
+                                                         int                     height,
+                                                         gpointer                data);
 struct _GtkCssCustomGadget
 {
   GtkCssGadget parent;
@@ -73,6 +80,7 @@ GtkCssGadget *  gtk_css_custom_gadget_new                      (const char
                                                                 GtkCssPreferredSizeFunc          get_preferred_size_func,
                                                                 GtkCssAllocateFunc               allocate_func,
                                                                 GtkCssDrawFunc                   draw_func,
+                                                                GtkCssSnapshotFunc               snapshot_func,
                                                                 gpointer                         data,
                                                                 GDestroyNotify                   destroy_func);
 GtkCssGadget *  gtk_css_custom_gadget_new_for_node             (GtkCssNode                      *node,
@@ -80,6 +88,7 @@ GtkCssGadget *  gtk_css_custom_gadget_new_for_node             (GtkCssNode
                                                                 GtkCssPreferredSizeFunc          preferred_size_func,
                                                                 GtkCssAllocateFunc               allocate_func,
                                                                 GtkCssDrawFunc                   draw_func,
+                                                                GtkCssSnapshotFunc               snapshot_func,
                                                                 gpointer                         data,
                                                                 GDestroyNotify                   destroy_func);
 
index 151de5443da050eab00e3634b6728a9607b3ca17..a17c0e1aa2c7eac83f10bc84b48b1d3d2b4b338e 100644 (file)
@@ -2515,6 +2515,7 @@ gtk_entry_init (GtkEntry *entry)
                                                      gtk_entry_allocate,
                                                      gtk_entry_render,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
 
   for (i = 0; i < 2; i++)
@@ -9912,6 +9913,7 @@ gtk_entry_ensure_progress_gadget (GtkEntry *entry)
                                                      NULL,
                                                      NULL,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
   gtk_css_gadget_set_state (priv->progress_gadget,
       gtk_css_node_get_state (gtk_widget_get_css_node (GTK_WIDGET (entry))));
index bac2cfa2b7581d12956a0977c6e1fda511387b17..f08a725cb74b614a43d5081d636713491aeb2f48 100644 (file)
@@ -599,6 +599,7 @@ gtk_flow_box_child_init (GtkFlowBoxChild *child)
                                                      gtk_flow_box_child_allocate,
                                                      NULL,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
 }
 
@@ -4098,6 +4099,7 @@ gtk_flow_box_init (GtkFlowBox *box)
                                                      gtk_flow_box_allocate,
                                                      NULL,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
 }
 
index d362de71b67ac46761411e1479e3084bb379f655..de8a0187a5d692ed19888798f2fe7a758808b398 100644 (file)
@@ -297,16 +297,18 @@ gtk_frame_init (GtkFrame *frame)
                                                      gtk_frame_allocate,
                                                      NULL,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
   priv->border_gadget = gtk_css_custom_gadget_new ("border",
-                                                       GTK_WIDGET (frame),
-                                                       priv->gadget,
-                                                       NULL,
-                                                       gtk_frame_measure_border,
-                                                       gtk_frame_allocate_border,
-                                                       NULL,
-                                                       NULL,
-                                                       NULL);
+                                                   GTK_WIDGET (frame),
+                                                   priv->gadget,
+                                                   NULL,
+                                                   gtk_frame_measure_border,
+                                                   gtk_frame_allocate_border,
+                                                   NULL,
+                                                   NULL,
+                                                   NULL,
+                                                   NULL);
 
   gtk_css_gadget_set_state (priv->border_gadget, gtk_widget_get_state_flags (GTK_WIDGET (frame)));
 }
index d96ce7fcdb15d305992ee9c0b6514b7654e0e1d1..699409f2147eeb8d5b88da33521a75bad73e4777 100644 (file)
@@ -1789,6 +1789,7 @@ gtk_grid_init (GtkGrid *grid)
                                                      gtk_grid_allocate,
                                                      NULL,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
 
 
index e630432b2e93eb00f71c45230ad71a35d383af0e..a47d72462f463a2f62c1e275979510f275f056f8 100644 (file)
@@ -2071,6 +2071,7 @@ gtk_header_bar_init (GtkHeaderBar *bar)
                                                      gtk_header_bar_allocate_contents,
                                                      NULL,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
 
 }
index 612b3373f9f81505157f04e0b7cbda72a8647bc0..f7abcfcb94847f44fc09bb5e0eeb0974b52ae2f2 100644 (file)
@@ -367,6 +367,7 @@ gtk_image_init (GtkImage *image)
                                                      gtk_image_get_content_size,
                                                      NULL,
                                                      NULL,
+                                                     NULL,
                                                      NULL, NULL);
 }
 
index 16943f9ee89d44dc5ff809c3b84e785fdd7338b6..5461d3fa712b8719c1cf8daf729f5e8bb2ac6adf 100644 (file)
@@ -1372,6 +1372,7 @@ gtk_label_init (GtkLabel *label)
                                                      NULL,
                                                      NULL,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
 }
 
index 33bf44cd790ffe27a6ac3d115bebddd27fe38c86..4d454bdcd010e14b280854f19ba9959bb3f79d3d 100644 (file)
@@ -594,6 +594,7 @@ update_block_nodes (GtkLevelBar *self)
                                                              GTK_WIDGET (self),
                                                              priv->trough_gadget,
                                                              NULL,
+                                                             NULL,
                                                              NULL, NULL, NULL,
                                                              NULL, NULL);
           gtk_css_gadget_set_state (priv->block_gadget[i], gtk_css_node_get_state (trough_node));
@@ -1109,6 +1110,7 @@ gtk_level_bar_init (GtkLevelBar *self)
                                                    gtk_level_bar_measure_trough,
                                                    gtk_level_bar_allocate_trough,
                                                    gtk_level_bar_render_trough,
+                                                   NULL,
                                                    NULL, NULL);
   trough_node = gtk_css_gadget_get_node (priv->trough_gadget);
   gtk_css_node_set_parent (trough_node, widget_node);
index 6ceb9519fb5064e3106f5f7e24735cc366b321e2..4fce8aacee0559dc82ac02f06b8a399fbab9e743 100644 (file)
@@ -654,6 +654,7 @@ gtk_list_box_init (GtkListBox *box)
                                                      gtk_list_box_allocate,
                                                      NULL,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
 
 }
@@ -3777,6 +3778,7 @@ gtk_list_box_row_init (GtkListBoxRow *row)
                                                      gtk_list_box_row_allocate,
                                                      NULL,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
   gtk_css_gadget_add_class (ROW_PRIV (row)->gadget, "activatable");
 }
index f8094ef365d1a085d5bfb6d2cec3c2d248bef4fe..fa56e09201392144db46f14590a960b3e072d5c3 100644 (file)
@@ -247,6 +247,7 @@ gtk_menu_bar_init (GtkMenuBar *menu_bar)
                                                      gtk_menu_bar_measure,
                                                      gtk_menu_bar_allocate,
                                                      gtk_menu_bar_render,
+                                                     NULL,
                                                      NULL, NULL);
 }
 
index f77ea0a1f85cb28da9cb64d2f62f1e47bd09f7d2..fd8ce98dfc73017cbef30b87d41bee216238fcbe 100644 (file)
@@ -784,6 +784,7 @@ gtk_menu_item_init (GtkMenuItem *menu_item)
                                                      gtk_menu_item_measure,
                                                      gtk_menu_item_allocate,
                                                      gtk_menu_item_render,
+                                                     NULL,
                                                      NULL, NULL);
 }
 
index 26b647c7f3f6b72d9f918a7f8e55b880da54c6e7..443abc1b66cda5302f24d69cc2b6f6204deb4345 100644 (file)
@@ -1148,6 +1148,7 @@ gtk_model_button_init (GtkModelButton *button)
                                                        gtk_model_button_allocate,
                                                        NULL,
                                                        NULL,
+                                                       NULL,
                                                        NULL);
   button->indicator_gadget = gtk_builtin_icon_new ("check",
                                                    GTK_WIDGET (button),
index 53e3957a34304f21cbc58583f0b4da6ed51df85d..5f0144fdbc2460026177b4b0e8c3f5cd4fe8fa0c 100644 (file)
@@ -1217,6 +1217,7 @@ gtk_notebook_init (GtkNotebook *notebook)
                                                   gtk_notebook_allocate_stack,
                                                   gtk_notebook_draw_stack,
                                                   NULL,
+                                                  NULL,
                                                   NULL);
   gtk_css_gadget_set_state (priv->stack_gadget, gtk_css_node_get_state (widget_node));
   gtk_box_gadget_insert_gadget (GTK_BOX_GADGET (priv->gadget), -1, priv->stack_gadget, TRUE, GTK_ALIGN_FILL);
@@ -1238,6 +1239,7 @@ gtk_notebook_init (GtkNotebook *notebook)
                                                  gtk_notebook_allocate_tabs,
                                                  gtk_notebook_draw_tabs,
                                                  NULL,
+                                                 NULL,
                                                  NULL);
   gtk_css_gadget_set_state (priv->tabs_gadget, gtk_css_node_get_state (widget_node));
   gtk_box_gadget_insert_gadget (GTK_BOX_GADGET (priv->header_gadget), 0, priv->tabs_gadget, TRUE, GTK_ALIGN_FILL);
@@ -4637,6 +4639,7 @@ gtk_notebook_real_insert_page (GtkNotebook *notebook,
                                             measure_tab,
                                             allocate_tab,
                                             draw_tab,
+                                            NULL,
                                             page,
                                             NULL);
   if (priv->tabs_reversed)
index 99ce300faa1f9c0b610fd8239f8c94ad979d9bc9..d55bfb8fbb1628cdd50f953ed454c0bec79a206d 100644 (file)
@@ -1753,6 +1753,7 @@ gtk_paned_init (GtkPaned *paned)
                                                      gtk_paned_allocate,
                                                      NULL,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
   priv->handle_gadget = gtk_css_custom_gadget_new ("separator",
                                                    GTK_WIDGET (paned),
@@ -1762,6 +1763,7 @@ gtk_paned_init (GtkPaned *paned)
                                                    NULL,
                                                    NULL,
                                                    NULL,
+                                                   NULL,
                                                    NULL);
   update_node_state (GTK_WIDGET (paned));
 }
index d42f7f48e17220d82879bd6a7bc493457320954e..6a0c8e86184e08bfd640297240e06f74fe0c8abb 100644 (file)
@@ -441,6 +441,7 @@ gtk_progress_bar_init (GtkProgressBar *pbar)
                                                      gtk_progress_bar_allocate,
                                                      gtk_progress_bar_render,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
 
   priv->trough_gadget = gtk_css_custom_gadget_new ("trough",
@@ -451,6 +452,7 @@ gtk_progress_bar_init (GtkProgressBar *pbar)
                                                    gtk_progress_bar_allocate_trough,
                                                    gtk_progress_bar_render_trough,
                                                    NULL,
+                                                   NULL,
                                                    NULL);
 
   priv->progress_gadget = gtk_css_custom_gadget_new ("progress",
@@ -461,6 +463,7 @@ gtk_progress_bar_init (GtkProgressBar *pbar)
                                                      NULL,
                                                      NULL,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
 
   update_node_state (pbar);
@@ -1323,6 +1326,7 @@ gtk_progress_bar_set_show_text (GtkProgressBar *pbar,
                                                      NULL,
                                                      gtk_progress_bar_render_text,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
       g_signal_connect (gtk_css_gadget_get_node (priv->text_gadget), "style-changed",
                         G_CALLBACK (gtk_progress_bar_text_style_changed), pbar);
index 5b1f2dcb73efdf70155f213676d3bd56618e2452..a7658e25b99561cd265da0b8df97eda9132469a5 100644 (file)
@@ -668,6 +668,7 @@ gtk_range_init (GtkRange *range)
                                                      gtk_range_measure,
                                                      gtk_range_allocate,
                                                      gtk_range_render,
+                                                     NULL,
                                                      NULL, NULL);
   priv->contents_gadget = gtk_box_gadget_new ("contents",
                                               GTK_WIDGET (range),
@@ -678,6 +679,7 @@ gtk_range_init (GtkRange *range)
                                                    gtk_range_measure_trough,
                                                    gtk_range_allocate_trough,
                                                    gtk_range_render_trough,
+                                                   NULL,
                                                    NULL, NULL);
   gtk_css_gadget_set_state (priv->trough_gadget,
                             gtk_css_node_get_state (widget_node));
@@ -1390,6 +1392,7 @@ gtk_range_set_show_fill_level (GtkRange *range,
                                                      GTK_WIDGET (range),
                                                      priv->trough_gadget, NULL,
                                                      NULL, NULL, NULL,
+                                                     NULL,
                                                      NULL, NULL);
       gtk_css_gadget_set_state (priv->fill_gadget,
                                 gtk_css_node_get_state (gtk_css_gadget_get_node (priv->trough_gadget)));
@@ -3609,6 +3612,7 @@ _gtk_range_set_has_origin (GtkRange *range,
                                                           GTK_WIDGET (range),
                                                           priv->trough_gadget, NULL,
                                                           NULL, NULL, NULL,
+                                                          NULL,
                                                           NULL, NULL);
       gtk_css_gadget_set_state (priv->highlight_gadget,
                                 gtk_css_node_get_state (gtk_css_gadget_get_node (priv->trough_gadget)));
index f621ab40e16075936425d84f16a4de47eee0ee07..82edd96ec0b86a51c8c7a6f8e327e0a304180057 100644 (file)
@@ -1289,6 +1289,7 @@ gtk_scale_set_draw_value (GtkScale *scale,
                                                           gtk_scale_measure_value,
                                                           NULL,
                                                           gtk_scale_render_value,
+                                                          NULL,
                                                           NULL, NULL);
           g_signal_connect (gtk_css_gadget_get_node (priv->value_gadget), "style-changed",
                             G_CALLBACK (gtk_scale_value_style_changed), scale);
@@ -2165,6 +2166,7 @@ gtk_scale_add_mark (GtkScale        *scale,
                                        gtk_scale_measure_marks,
                                        gtk_scale_allocate_marks,
                                        gtk_scale_render_marks,
+                                       NULL,
                                        NULL, NULL);
           gtk_css_node_insert_after (widget_node,
                                      gtk_css_gadget_get_node (priv->top_marks_gadget),
@@ -2186,6 +2188,7 @@ gtk_scale_add_mark (GtkScale        *scale,
                                        gtk_scale_measure_marks,
                                        gtk_scale_allocate_marks,
                                        gtk_scale_render_marks,
+                                       NULL,
                                        NULL, NULL);
           gtk_css_node_insert_before (widget_node,
                                       gtk_css_gadget_get_node (priv->bottom_marks_gadget),
@@ -2204,6 +2207,7 @@ gtk_scale_add_mark (GtkScale        *scale,
                                gtk_scale_measure_mark,
                                gtk_scale_allocate_mark,
                                gtk_scale_render_mark,
+                               NULL,
                                mark, NULL);
   gtk_css_gadget_set_state (mark->gadget, gtk_css_node_get_state (marks_node));
 
@@ -2213,6 +2217,7 @@ gtk_scale_add_mark (GtkScale        *scale,
                                NULL,
                                NULL,
                                gtk_scale_render_mark_indicator,
+                               NULL,
                                mark, NULL);
   if (mark->markup && *mark->markup)
     {
@@ -2224,6 +2229,7 @@ gtk_scale_add_mark (GtkScale        *scale,
                                    gtk_scale_measure_mark_label,
                                    NULL,
                                    gtk_scale_render_mark_label,
+                                   NULL,
                                    mark, NULL);
       g_signal_connect (gtk_css_gadget_get_node (mark->label_gadget), "style-changed",
                         G_CALLBACK (gtk_scale_mark_style_changed), mark);
index 0b5ec7091dc5aa053675e7805a7906e76ea6bed5..bc5f459cc95b25d126777ae88d059d8d636ed69d 100644 (file)
@@ -2075,6 +2075,7 @@ gtk_scrolled_window_init (GtkScrolledWindow *scrolled_window)
                                                      gtk_scrolled_window_measure,
                                                      gtk_scrolled_window_allocate,
                                                      gtk_scrolled_window_render,
+                                                     NULL,
                                                      NULL, NULL);
   for (i = 0; i < 4; i++)
     {
index c3f9978eecb99872d2bba8b36c70478021fab2e9..ef211f3b20bd4b7930c64dada662ce8c46a0d88b 100644 (file)
@@ -161,6 +161,7 @@ gtk_separator_init (GtkSeparator *separator)
   separator->priv->gadget = gtk_css_custom_gadget_new_for_node (widget_node,
                                                                 GTK_WIDGET (separator),
                                                                 NULL, NULL, NULL,
+                                                                NULL,
                                                                 NULL, NULL);
 }
 
index 219955ecd27ba702061ec034707d5142f0e1bf82..650dd5f2677ae8878eda33eeaf197ae4ed656e8e 100644 (file)
@@ -166,6 +166,7 @@ gtk_separator_tool_item_init (GtkSeparatorToolItem *separator_item)
     gtk_css_custom_gadget_new_for_node (widget_node,
                                         widget,
                                         NULL, NULL, NULL,
+                                        NULL,
                                         NULL, NULL);
 }
 
index 22a10996caa4225286c1042602fa9100cb31da36..e79056d2bd64826c92f7b3169de805186f0d2d64 100644 (file)
@@ -2394,6 +2394,7 @@ gtk_stack_init (GtkStack *stack)
                                                      gtk_stack_allocate,
                                                      gtk_stack_render,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
 
 }
index 28760f152caf6652f4b22b1e188d56d2e06c95bf..1ac6df57a74988492d4835753e8081d6c9d8e948 100644 (file)
@@ -879,6 +879,7 @@ gtk_switch_init (GtkSwitch *self)
                                                      gtk_switch_allocate_contents,
                                                      gtk_switch_render_trough,
                                                      NULL,
+                                                     NULL,
                                                      NULL);
 
   priv->slider_gadget = gtk_css_custom_gadget_new ("slider",
@@ -889,6 +890,7 @@ gtk_switch_init (GtkSwitch *self)
                                                    NULL,
                                                    gtk_switch_render_slider,
                                                    NULL,
+                                                   NULL,
                                                    NULL);
 
   gesture = gtk_gesture_multi_press_new (GTK_WIDGET (self));
index fd2f4f1d0c9a4057393f2ce41500158cf61b7d13..03d887ec911256402288958867d73ea2598918d9 100644 (file)
@@ -648,6 +648,7 @@ gtk_toolbar_init (GtkToolbar *toolbar)
                                                      gtk_toolbar_measure,
                                                      gtk_toolbar_allocate,
                                                      gtk_toolbar_render,
+                                                     NULL,
                                                      NULL, NULL);
 
   priv->arrow_button = gtk_toggle_button_new ();
index 0a199ae5014a6319e24ecdb188a0e4b7b5490e28..8360dbab4d0c3e3b259408e2969693f67f106944 100644 (file)
@@ -477,6 +477,7 @@ gtk_viewport_init (GtkViewport *viewport)
                                                      gtk_viewport_measure,
                                                      gtk_viewport_allocate,
                                                      gtk_viewport_render,
+                                                     NULL,
                                                      NULL, NULL);
 
   gtk_css_gadget_add_class (priv->gadget, GTK_STYLE_CLASS_FRAME);